# 登录验证流程：模拟用户登录时的信息校验逻辑
# 核心思路：从用户输入开始，逐步校验合法性，最终判断是否登录成功
# 设计亮点：分层校验（先基础格式，再业务逻辑），减少无效判断，提升效率


# 1. 获取用户输入并预处理
# 输入手机号、密码、验证码（用户可能误输入空格，所以先去除两端空格）
phone1 = input("请输入手机号：")
phone = phone1.strip()  # 去除手机号前后空格
password = input("请输入密码：").strip()  # 密码同理，去除多余空格
code = input("请输入验证码：").strip()  # 验证码也需要处理空格


# 2. 基础非空校验：先确保关键信息没填漏
if phone == "":
    print("手机号不能为空")  # 明确提示哪个字段为空，用户体验更好
elif password == "":
    print("密码不能为空")
elif code == "":
    print("验证码不能为空")


# 3. 手机号格式校验：确保符合基本规则（数字+11位）
if phone.isdigit() and len(phone) == 11:  # isdigit()判断是否纯数字，避免字母/符号
    print("手机号格式正确")
else:
    print("手机号格式不正确")  # 提示具体错误类型，用户知道如何修改


# 4. 验证码校验
# code.lower()将输入转为小写，兼容用户输入大写的情况
if code.lower() == "8888":
    print("验证码正确")
else:
    print("验证码不正确")


# 5. 最终登录验证：业务逻辑校验（手机号、密码、验证码需同时正确）
# 采用嵌套if：先验手机号是否存在，再验密码是否匹配，最后验验证码，逻辑分层清晰
if phone == "13488888888":  # 假设系统中存在的有效手机号
    print("1手机号正确")
    if password == "123456":  # 该手机号对应的正确密码
        print("2密码正确")
        if code.lower() == "8888":  # 验证码最终校验
            print("登录成功")  # 所有条件满足，登录成功
        else:
            print("验证码错误")  # 验证码错，其他正确
    else:
        print("密码与账号不匹配")  # 手机号对，但密码错
else:
    print("手机号不存在")  # 手机号不在系统中，直接提示